<?php
/**
 * Model de Historico
 * @filesource  06/04/2011
 * @author      Estrada Virtual <http://estradavirtual.com.br>
 * @copyright   Copyright <2011> Estrada Virtual
 * @package     <<application>>
 * @subpackage  <<application>>.application.models
 * @version     $Id$
 */
class Model_Historico extends App_Db_Table
{
    protected $_name             = 'historico';
    protected $_primary          = array('id_historico');
    protected $_referenceMap     = array(
                    'Usuario' => array(
                            'columns'       => 'fk_usuario',
                            'refTableClass' => 'Model_Usuario',
                            'refColumns'    => 'id_usuario',
                         ));

    function getResumo($idUsuario = null, $limit = 5)
    {
        $select = $this->getDefaultAdapter()->select()
                       ->from(array('h'=>'historico'), array('fk_usuario', 'st_titulo', 'dt_cadastro'))
                       ->join(array('u'=>'usuario'), 'h.fk_usuario = u.id_usuario', array('usuario' => 'st_nome', 'st_email'))
                       ->join(array('c'=>'cliente'), 'h.fk_cliente = c.id_cliente', array('cliente' => 'st_nome'))
                       ->order('h.dt_cadastro desc');
        if ($idUsuario) {
            $select->join(array('clu' => 'cliente_usuario'), 'h.fk_cliente = clu.fk_cliente', array())
                   ->where('clu.fk_usuario = ?', $idUsuario)
                   ->distinct(true);
        }

        if ($limit) {
            $select->limit($limit);
        }
        return $select->query()->fetchAll();
    }
}
